Electronic systems and circuits have made a significant contribution towards the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Numerous electronic technologies such as digital computers, calculators, audio devices, video equipment, and telephone systems facilitate increased productivity and cost reduction in analyzing and communicating data, ideas and trends in most areas of business, science, education and entertainment. Typically, electronic systems designed to produce these results consume power. However, energy resources for these devices are often limited and expended quickly (e.g., battery power sources in portable devices such as a laptop computer). Some activities such as displaying graphics usually require intensive data processing and traditionally consume large amounts of power, significantly draining the resources and/or reducing the life of a typical limited power source.
Computer systems are typically utilized to process information and users typically desire to see the results of the processing. A display monitor is one of the most common mechanisms for presenting processing results to a user. Displaying information in a visual presentation is usually a convenient and effective method of conveying the information. However, typical graphics presentations usually require significant processing of large amounts of data which traditionally consumes significant power.
Numerous different types of display devices are utilized to convey information. Display devices such as cathode ray tube (CRT) devices and field emission display (FED) devices usually generate light by impinging high-energy electrons on a picture element (pixel) of a phosphor screen and the phosphor converts the electron energy into visible light utilized to convey images to observers. Displays such as cathode ray tubes (CRTs) and field emission devices (FEDs) usually differ in the manner in which the high energy electrons are impinged on a pixel. Conventional CRT displays typically use electron beams to scan across the phosphor screen in a raster, pattern. FEDs usually utilize stationary electron beams for each color element of a pixel. Despite the differences in the way the high energy beams are impinged on a pixel, the format in which image information is provided to the displays is usually similar.
The image information is presented on the display screen in accordance with a typical fundamental “raster” display process. Typically, information on the brightness level for each primary color (e.g., red, blue and green) in a pixel is provided for each pixel included in the display. Pixels are usually arranged in a matrix of rows and columns with each pixel having a unique identifier (e.g., row and column indicator). The display “illuminates” each pixel in accordance with illumination data assigned to a corresponding pixel identifier. The pixels are illuminated in a “raster” pattern that usually starts at the top of the display and goes across the display from left to right on each row and then drops to the row below until it reaches the bottom. When the display process gets to the last pixel at the bottom, there is a very short “blank” period for a vertical retrace to return back to the starting pixel at the top of the display. The speed at which the display illuminates the pixels of the display and returns to the top is called the refresh rate.
The preparation of the pixel illumination information is usually a very complicated process and often best performed by dedicated graphics subsystem resources. Providing information for each pixel is very data intensive and consumes a significant amount of processing resources calculating the appropriate intensity of each color for each pixel. Computer systems typically perform a wide range of tasks with highly differentiated processing needs. Some of these tasks are often performed by separate processors in an effort to relieve a central processor from having to perform all the tasks. For example, graphics processors are often provided to perform special graphics processing. The separate graphics processors relieve the central processor of performing many of the graphics processing activities. In addition, dedicated graphics subsystems are usually specifically configured for maximized performance of graphics activities enabling a graphics processor to perform many graphics operations faster and more efficiently than a central processor, which is typically configured for more generalized processing operations.
Even though a graphics processor relieves a central processor from performing numerous complicated graphics operations, traditionally a significant amount of interaction between the graphics processor and the central processor is required. The central processor provides commands to the graphics processor which processes the commands to generate image display information (e.g., pixel illumination data). Even though the graphics processor usually performs most of the graphics processing, traditional interactions between the central processor and the graphics processor usually consume significant power. Traditionally a central processor provides commands to the graphics processor and then continuously requests or “polls” the graphics processor to determine if the graphics processor has completed processing associated with the commands and is ready to accept more commands. For example, some traditional central processors enter a processing loop that continuously reads the value in a hardware register until the value indicates the GPU is ready for additional commands. Since it typically takes a graphics processor some time to process the graphics commands associated with a particular frame, the majority of the responses to the CPU inquiry indicate the GPU is not ready. When the GPU is not ready for additional commands the CPU continually “polls” the GPU and the polling consumes significant power without really contributing to the underlying processing tasks.